Conventional file systems maintain non-volatile information and data structures used to manage the file system in a storage device that is to remain persistent. The data structures and information maintained may include a superblock comprising overall metadata, such as file system type, size, status, and information about other metadata structures; inodes which comprises the structure that holds metadata for a given file (e.g., permissions, timestamps), length, and location of its constituent blocks, and, if needed, location of the file's next inode; an inode bitmap used to manage free space for inodes, where each bit specifies whether the corresponding space on the storage device (pre-reserved at filesystem creation time) is free; and data blocks comprising the actual data of the files and directories in the file system, where each file and directory may have multiple data blocks; and a data block bitmap used to indicate free space for data blocks.